/*
 * Heap.h
 *
 *  Created on: 11/11/2011
 *      Author: marcio
 */

#ifndef HEAP_H_
#define HEAP_H_

typedef struct h{
	int size;
	int last;
	void* elem;
	int (*f)(void*, void*) comp;
}Heap;

Heap* heap_newHeap(int size, int (*f)(void*, void*));

int heap_add(Heap* h, void* elem);

void* heap_remove(Heap* h);

int isEmpty(Heap* h);

#endif /* HEAP_H_ */
